﻿#pragma once
#include "zyCtrol.h"

namespace BlackMoonUI {

	class zyTrackBar : public  zyCtrol
	{
	public:
		zyTrackBar();
		~zyTrackBar();
		static void  WINAPI zyCommand_Destroy(zyObject* obj);
		static LRESULT WINAPI zyCommand_WndProc(zyObject* obj, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL* bHandled);
		void OnNCDestroy();
		static LRESULT WINAPI zyTrackBar_ChildWndProc(zyObject* obj, HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam, BOOL* bHandle);
		BOOL 创建(HWND 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 26 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		BOOL 创建(zyWindow& 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 26 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		int 背景色(int 参数_背景色);
		int 位置(int 参数_位置 = -1);
		int 最小位置(int 参数_最小位置 = NULL);
		int 最大位置(int 参数_最大位置 = NULL);
		int 首选择位置(int 参数_首选择位置 = NULL);
		int 选择长度(int 参数_选择长度 = NULL);
		int 滑块跨度(int 参数_滑块跨度 = NULL);
		void 置刻度单位值(int 参数_刻度单位值);
		int 行改变值(int 参数_行改变值 = NULL);
		int 页改变值(int 参数_页改变值 = NULL);
		void 清除选择() { sendMsg(TBM_CLEARSEL, 0, 0); }
		void 清除刻度() { sendMsg(TBM_CLEARTICS, 0, 0); }
		//@备注 函数 整型 OnPosChange(HWND hWnd,整型 位置)
		void 事件_位置被改变(TRegEvent* 参数_事件指针) { SetRegEvent(L"OnPosChange", 参数_事件指针); }
	};

}

